import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
import { fileURLToPath, URL } from 'url';

// https://vitejs.dev/config/
export default defineConfig(options => {
  return {
    base: '/static-site',
    plugins: [
      vue(),
      AutoImport({
        // 会在根目录生成 auto-imports.d.ts，里面可以看到自动导入的 API
        dts: true,
        // 打包时自动引入的 API
        imports: ['vue', 'vue-router'],
        // 这里设置为 true，运行 vite 会自动生成 /.eslintrc-auto-import.json
        eslintrc: {
          enabled: true,
        },
        // 自动按需导入 Ant Design 组件库的 API
        resolvers: [AntDesignVueResolver()],
      }),
      Components({
        // 自动按需导入 Ant Design 组件库的组件，importStyle = false 不导入样式，样式在 main.ts 统一引入
        resolvers: [AntDesignVueResolver({ importStyle: false })],
      }),
    ],
    resolve: {
      // import 时路径的别名
      alias: {
        '@': fileURLToPath(new URL('./src', import.meta.url)),
      },
    },
    css: {
      preprocessorOptions: {
        less: {
          javascriptEnabled: true,
        },
      },
    },
  };
});
